home *** CD-ROM | disk | FTP | other *** search
- 10 BL$ = " "
- 20 S1$ = "***************************************"
- 30 S2$ = "* *"
- 35 MO$ = "???JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"
- 40 HOME
- 50 PRINT S1$: PRINT S2$
- 60 PRINT "* SYSTEM DATE AND TIME UTILITY *"
- 70 PRINT S2$: PRINT S1$
- 80 VTAB 10
- 90 REM
- 100 REM - READ SYSTEM DATE
- 110 REM
- 120 DD = PEEK(49040) - INT( PEEK(49040)/32) *32
- 130 YY = INT( PEEK(49041)/2)
- 140 MM = ( PEEK(49041) -YY *2) *8 + INT( PEEK(49040)/32)
- 145 MM$ = MID$ (MO$,MM *3 +1,3)
- 150 REM
- 160 REM - READ SYSTEM TIME
- 170 REM
- 180 MI = PEEK(49042)
- 190 HH = PEEK(49043)
- 200 REM
- 210 REM - CONVERT 24 HOURS TO 12
- 220 REM
- 230 IF HH >11 THEN PM = 1
- 240 IF HH >12 THEN HH = HH -12
- 250 IF HH = 0 THEN HH = 12
- 260 PRINT " THE CURRENT SETTINGS ARE:"
- 270 PRINT : PRINT
- 280 REM
- 290 REM - PRINT DATE AND TIME
- 300 REM
- 310 PRINT " DATE: ";
- 320 IF DD = 0 THEN PRINT "<NO DATE>": GOTO 380
- 340 IF DD <10 THEN PRINT "0";
- 350 PRINT DD;"-";
- 355 PRINT MM$;"-";
- 360 IF YY <10 THEN PRINT "0";
- 370 PRINT YY
- 380 PRINT
- 390 PRINT " TIME: ";
- 393 IF HH = 12 AND MI = 0 AND DD = 0 THEN PRINT "<NO TIME>": GOTO 460
- 400 IF HH <10 THEN PRINT "0";
- 410 PRINT HH;":";
- 420 IF MI <10 THEN PRINT "0";
- 430 PRINT MI;
- 440 IF PM = 1 THEN PRINT " PM"
- 450 IF PM = 0 THEN PRINT " AM"
- 460 VTAB 18
- 470 PRINT " UPDATE SYSTEM DATE AND TIME? Y/N ";
- 480 GET A$
- 490 VTAB 18: HTAB 2: PRINT BL$
- 500 IF A$ = "N" OR A$ = "n" THEN VTAB 22: END
- 510 VTAB 13
- 520 PRINT " ENTER DATE: DD-MMM-YY";
- 530 REM
- 535 REM -READ DAY INTO DD
- 540 REM
- 545 HTAB 20: PRINT "DD";: HTAB 20
- 550 GET A$: IF (A$ <"0") OR (A$ >"3") GOTO 545
- 555 DD = VAL(A$): PRINT A$;
- 560 GET A$: IF (A$ <"0") OR (A$ >"9") GOTO 545
- 565 DD = DD *10 + VAL(A$): PRINT A$;
- 570 IF DD >31 OR DD <1 GOTO 545
- 572 REM
- 574 REM GET MONTH INTO M1$
- 576 REM
- 580 HTAB 23: PRINT "MMM";: HTAB 23:COUNT = 1:M1$ = ""
- 585 GET A$:M1$ = M1$ +A$: PRINT A$;:MM = 4
- 587 IF M1$ = MID$ (MO$,MM,COUNT) THEN GOTO 595
- 588 MM = MM +3: IF MM <39 THEN GOTO 587
- 589 GOTO 580
- 595 COUNT = COUNT +1: IF COUNT <4 THEN GOTO 585
- 600 MM = (MM -1)/3
- 710 REM
- 720 REM -READ YEAR INTO YY
- 730 REM
- 740 HTAB 27: PRINT "YY";: HTAB 27
- 750 GET A$: IF (A$ <"0") OR (A$ >"9") GOTO 740
- 760 YY = VAL(A$): PRINT A$;
- 770 GET A$: IF (A$ <"0") OR (A$ >"9") GOTO 740
- 780 YY = YY *10 + VAL(A$): PRINT A$
- 790 REM
- 800 REM -REPEAT UNTIL CORRECT
- 810 REM
- 820 VTAB 18: PRINT " CORRECT? Y/N ";
- 830 GET A$
- 840 VTAB 18: HTAB 2: PRINT BL$
- 850 IF A$ = "N" OR A$ = "n" GOTO 510
- 860 VTAB 13: HTAB 8: PRINT " ": VTAB 15: HTAB 8
- 870 PRINT "ENTER TIME: HH:MM AM";
- 880 REM
- 890 REM -READ HOUR INTO HH
- 900 REM
- 910 HTAB 20: PRINT "HH";: HTAB 20
- 920 GET A$: IF (A$ <"0") OR (A$ >"1") GOTO 910
- 930 HH = VAL(A$): PRINT A$;
- 940 GET A$: IF (A$ <"0") OR (A$ >"9") GOTO 910
- 950 HH = 10 *HH + VAL(A$): PRINT A$;
- 960 IF HH >12 OR HH <1 GOTO 910
- 970 REM
- 980 REM -READ MINUTE INTO MI
- 990 REM
- 1000 HTAB 23: PRINT "MM";: HTAB 23
- 1010 GET A$: IF (A$ <"0") OR (A$ >"5") GOTO 1000
- 1020 MI = VAL(A$): PRINT A$;
- 1030 GET A$: IF (A$ <"0") OR (A$ >"9") GOTO 1000
- 1040 MI = 10 *MI + VAL(A$): PRINT A$;
- 1050 IF MI >59 GOTO 1000
- 1060 REM
- 1070 REM -GET AM OR PM
- 1080 REM
- 1090 HTAB 27
- 1100 GET P$: IF (P$ < >"A") AND (P$ < >"a") AND (P$ < >"P") AND (P$ < >"p") AND (P$ < >" ") AND (P$ < > CHR$(13)) GOTO 1090
- 1110 IF (P$ = "P") OR (P$ = "p") THEN PRINT "P";
- 1120 REM
- 1130 REM -REPEAT UNTIL CORRECT
- 1140 REM
- 1150 VTAB 18: HTAB 2: PRINT " CORRECT? Y/N ";
- 1160 GET A$
- 1170 VTAB 18: HTAB 2: PRINT BL$
- 1180 IF (A$ < >"N") AND (A$ < >"n") GOTO 1200
- 1190 GOTO 860
- 1200 VTAB 15: HTAB 8: PRINT " "
- 1210 REM
- 1220 REM -UPDATE SYSTEM DATE
- 1230 REM
- 1240 POKE 49041,YY *2 +(MM >7)
- 1250 IF MM >7 THEN POKE 49040,(MM -8) *32 +DD
- 1260 IF MM <8 THEN POKE 49040,MM *32 +DD
- 1270 REM
- 1280 REM -UPDATE SYSTEM TIME (24 HOUR CLOCK)
- 1290 REM
- 1300 IF HH = 12 THEN HH = 0
- 1310 IF P$ = "P" OR P$ = "p" THEN HH = HH +12
- 1320 POKE 49043,HH: POKE 49042,MI
- 1330 PRINT : VTAB 20: PRINT " SYSTEM DATE AND TIME UPDATED": PRINT
- 1340 PRINT " (DOES NOT SET CLOCK/CALENDAR CARDS)"
- 1350 END